"""
数据容器之：list列表的常用操作
"""

my_list = ['item', 'item1', 'item2']

# 1.1 查找某元素在列表内的下标索引
index = my_list.index('item1')
print(f"item1在列表中的下标索引是：{index}")

# 1.2如果被查找的元素不存在，会报错
# index = my_list.index('hello')
# print(f"hello在列表中的下标索引是：{index}")


# 语法：列表[下标]=值
# 2. 修改特定下标索引的值
my_list[0] = '你好'
print(f"my_list列表被修改值后，结果是{my_list}")

# 语法：列表.insert(下标，元素)，在指定的下标位置，插入指定元素
# 3. 在指定下标位置插入新元素
my_list.insert(1, '插入元素')
print(f"my_list插入(insert)元素后结果是：{my_list}")

# 语法：列表.append(元素)，将指定元素，追加到列表的尾部
# 4. 在列表的尾部追加```单个```新元素
my_list.append('追加的元素')
print(f"列表在追加(append)元素后，结果是：{my_list}")

# 语法：列表.extend(其他数据容器),将其他数据容器的内容取出，，依次追加到列表尾部
# 5. 在列表的尾部追加```一批```新元素

my_list2 = ['插入1', '插入2', 1]
my_list.extend(my_list2)
print(f"列表在追加多个元素(extend)列表后，结果是：{my_list}")

# 6. 删除指定下标索引的元素（2种方式）
my_list = ['item', 'item1', 'item2']
# 语法1：del列表[下标]
# 语法2：列表.pop[下标]
# 6.1 方式1：del 列表[下标]
del my_list[1]
print(f"列表删除元素(del)后结果是：{my_list}")

# 6.2 方式2：列表.pop(下标)
my_list = ['item', 'item1', 'item2']
element = my_list.pop(1)
print(f"通过pop方法取出元素后列表内容：{my_list}，取出的元素是：{element}")

# 7. 删除某元素在列表中的第一个匹配项
# 语法：列表.remove(元素)
my_list = ['item', 'item1', 'item2', 'item1', 'item2']
my_list.remove("item2")
print(f"通过remove方法移除元素后，列表的结果是：{my_list}")

# 8. 清空列表
# 语法：列表.clear()
my_list.clear()
print(f"列表被清空了(clear)，结果是：{my_list}")

# 9. 统计列表内某元素的数量
# 语法：列表.count(元素)
my_list = ['item', 'item1', 'item2', 'item1', 'item2']
count = my_list.count("item1")
print(f"列表中item1的数量是(count)：{count}")

# 10. 统计列表中全部的元素数量
# 语法：len(列表)
my_list = ['item', 'item1', 'item2', 'item1', 'item2']
count = len(my_list)
print(f"列表的元素数量(len)总共有：{count}个")
